import request from '@/utils/request'

/**
 * 获取校区运营数据统计
 * @param {Object} params 查询参数
 * @param {string} params.company 所属公司
 * @param {string} params.status 校区状态
 * @param {string} params.brand 品牌筛选
 * @param {string} params.startDate 开始日期
 * @param {string} params.endDate 结束日期
 * @returns {Promise} 返回统计数据
 */
export function getCampusOperationData(params) {
  return request({
    url: '/api/report/Branch/campus/operations',
    method: 'get',
    data: params
  })
}

/**
 * 导出校区运营数据
 * @param {Object} data 查询参数
 * @returns {Promise} 返回导出文件
 */
export function exportCampusOperationData(data) {
  return request({
    url: '/api/Report/campus-operation-export',
    method: 'post',
    data,
    responseType: 'blob'
  })
}

/**
 * 获取校区签约统计数据
 * @param {Object} params 查询参数
 * @param {string} params.company 所属公司
 * @param {number} params.year 年份
 * @param {number} params.month 月份
 * @param {string} params.startDate 开始日期
 * @param {string} params.endDate 结束日期
 * @returns {Promise} 返回签约统计数据
 */
export function getCampusContractStatistics(params) {
  return request({
    url: '/api/report/Branch/campus/contract-statistics',
    method: 'get',
    data: params
  })
}

/**
 * 获取校区服务统计数据
 * @param {Object} params 查询参数
 * @param {string} params.company 所属公司
 * @param {number} params.year 年份
 * @param {number} params.month 月份
 * @param {string} params.startDate 开始日期
 * @param {string} params.endDate 结束日期
 * @returns {Promise} 返回服务统计数据
 */
export function getCampusServiceStatistics(params) {
  return request({
    url: '/api/report/Branch/campus/service-statistics',
    method: 'get',
    data: params
  })
}

/**
 * 获取校区续费统计数据
 * - 路径：GET `/api/report/Branch/campus/renewal-statistics`
 * - 说明：与其他统计接口保持一致，GET 请求并通过拦截器将 `data` 转为查询参数
 * @param {Object} params 查询参数
 * @param {string} [params.brand] 品牌编码（如 `bell`）
 * @param {string} params.startDate 开始日期（`yyyy-MM-dd`）
 * @param {string} params.endDate 结束日期（`yyyy-MM-dd`）
 * @returns {Promise<Object>} 后端返回的续费统计数据
 */
export function getCampusRenewalStatistics(params) {
  return request({
    url: '/api/report/Branch/campus/renewal-statistics',
    method: 'get',
    data: params
  })
}

/**
 * 获取校区参训统计数据（结业/获证等）
 * - 路径：GET `/api/report/Branch/campus/training-statistics`
 * - 说明：用于 TrainingStatisticsReport 组件，支持证书类型、品牌、阶段等筛选
 * @param {Object} params 查询参数
 * @param {string} params.certificateType 证书/培训类型（如 `teacher`）
 * @param {string} [params.brand] 品牌编码（如 `bell`）
 * @param {string} [params.campusStage] 校区阶段筛选
 * @param {string} [params.company] 管理区域/公司编码
 * @param {string} [params.startDate] 开始日期（`yyyy-MM-dd`）
 * @param {string} [params.endDate] 结束日期（`yyyy-MM-dd`）
 * @returns {Promise<Object>} 后端返回的参训统计数据
 */
export function getCampusTrainingStatistics(params) {
  return request({
    url: '/api/report/Branch/campus/training-statistics',
    method: 'get',
    data: params
  })
}
